package edu.neu.highway.vo.flux;

import lombok.AllArgsConstructor;
import lombok.Data;

import java.util.ArrayList;
import java.util.List;

/**
 * <h1>Flux语言查询参数值对象定义</h1>
 */
@Data
@AllArgsConstructor
public class FluxQueryParams {

    /* 起始时间 */
    private Integer start;

    /* 结束时间 */
    private Integer stop;

    /* 测量标准 */
    private String measurement;

    /* 标签索引 */
    private List<String> gateId;
    private String vehicleType;
    private String inStation;

    /* 指定字段 */
    private String targetField;

    /* 窗口长度 */
    private Integer windowSize;

    /* 聚集函数 */
    private String aggregateFunction;

    /* 分组索引: 按照哪个 Tag 将数据分组 */
    private String partitionTag;

    public FluxQueryParams() {
        this.gateId = new ArrayList<>();
    }
}
